package com.hgyc.mom.mes.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hgyc.mom.mes.entity.MesWorkOrder;
import com.hgyc.mom.mes.vo.MesWorkOrderVO;

/**
 * 生产工单Service接口
 *
 * @author fwj
 * @since 2025-07-10
 */
public interface MesWorkOrderService extends IService<MesWorkOrder> {

    /**
     * 保存生产工单
     * @param mesWorkOrderVO 生产工单
     */
    void saveOrder(MesWorkOrderVO mesWorkOrderVO);

    /**
     * 更新生产工单
     * @param mesWorkOrderVO 生产工单
     */
    void updateOrder(MesWorkOrderVO mesWorkOrderVO);

    /**
     * 删除生产工单
     * @param ids 主键
     */
    void removeOrder(List<Long> ids);

    /**
     * 导入数据
     * @param mesWorkOrderList 导入数据列表
     * @param updateSupport 是否更新已有数据
     * @return 导入结果消息
     */
    String importData(List<MesWorkOrder> mesWorkOrderList, boolean updateSupport);

    /**
     * 工单拆分
     * @param id 工单ID
     * @param splitQty 拆分数量
     */
    void split(Long id, Integer splitQty);

    /**
     * 工单下达
     * @param mesWorkOrder 工单
     */
    void transmit(MesWorkOrder mesWorkOrder);
}